﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ServiceModel.DomainServices.Server;

namespace RIABlog.Web.Models
{
    /// <summary>
    /// Запись в блоге
    /// </summary>
    public class BlogPost : BlogActivity
    {
		[Display(AutoGenerateField = false)]
        public Guid BlogId { get; set; }

		[Display(Order = 1, Name = "BlogPostTitle", ResourceType = typeof(FieldDisplayNames))]
		[Required(AllowEmptyStrings = false, ErrorMessageResourceName = "BlogPostTitleErrorMessage", ErrorMessageResourceType = typeof(FieldDisplayNames))]
		[RegularExpression("^[^/:*?<>|\\x5C\\x22]*$", ErrorMessageResourceName = "BlogPostTitleErrorMessage", ErrorMessageResourceType = typeof(FieldDisplayNames))]
		public string Title { get; set; }

		/// <summary>
		/// Массив ключевых слов. Keyword - это ComplexObject
		/// </summary>
        [Display(AutoGenerateField = false)]
        public IEnumerable<Keyword> Keywords { get; set; }

        [Display(AutoGenerateField = false)]
        [Include] // это чтобы коллекция грузилась вместе с родительским объектом 
		[Association("Comments", "Id", "PostId")] // внешний ключ
        public IEnumerable<Comment> Comments { get; set; }
    }
}